namespace ext
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// A template class that supports advanced functionality like:   Autofilling arrays using templates and sub-templates  Conditional processing with basic comparison operators  Basic math function support  Execute arbitrary inline code with special built-in template variables  Custom member functions  Many special tags and built-in operators that aren&apos;t defined as part of
	/// the API, but are supported in the templates that can be created     XTemplate provides the templating mechanism built into:   {@link Ext.DataView}  {@link Ext.ListView}  {@link Ext.form.ComboBox}  {@link Ext.grid.TemplateColumn}  {@link Ext.grid.GroupingView}  {@link Ext.menu.Item}  {@link Ext.layout.MenuLayout}  {@link Ext.ColorPalette}     For example usage {@link #XTemplate see the constructor}.
	/// </summary>
	/// <htmlSummary>
	/// &lt;p&gt;A template class that supports advanced functionality like:&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
	/// &lt;li&gt;Autofilling arrays using templates and sub-templates&lt;/li&gt;
	/// &lt;li&gt;Conditional processing with basic comparison operators&lt;/li&gt;
	/// &lt;li&gt;Basic math function support&lt;/li&gt;
	/// &lt;li&gt;Execute arbitrary inline code with special built-in template variables&lt;/li&gt;
	/// &lt;li&gt;Custom member functions&lt;/li&gt;
	/// &lt;li&gt;Many special tags and built-in operators that aren&apos;t defined as part of
	/// the API, but are supported in the templates that can be created&lt;/li&gt;
	/// &lt;/ul&gt;&lt;/div&gt;&lt;/p&gt;
	/// &lt;p&gt;XTemplate provides the templating mechanism built into:&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
	/// &lt;li&gt;{@link Ext.DataView}&lt;/li&gt;
	/// &lt;li&gt;{@link Ext.ListView}&lt;/li&gt;
	/// &lt;li&gt;{@link Ext.form.ComboBox}&lt;/li&gt;
	/// &lt;li&gt;{@link Ext.grid.TemplateColumn}&lt;/li&gt;
	/// &lt;li&gt;{@link Ext.grid.GroupingView}&lt;/li&gt;
	/// &lt;li&gt;{@link Ext.menu.Item}&lt;/li&gt;
	/// &lt;li&gt;{@link Ext.layout.MenuLayout}&lt;/li&gt;
	/// &lt;li&gt;{@link Ext.ColorPalette}&lt;/li&gt;
	/// &lt;/ul&gt;&lt;/div&gt;&lt;/p&gt;
	///
	/// &lt;p&gt;For example usage {@link #XTemplate see the constructor}.&lt;/p&gt;
	/// </htmlSummary>
	/// <definedin>src\util\XTemplate.js</definedin>
	[ScriptName("XTemplate")]
	[ScriptNamespace("Ext")]
	[Imported()]
	public partial class XTemplate : ext.Template
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="config"></param>
		public XTemplate(object config)
		{
		}
		
		/// <summary>Constructor</summary>
		public XTemplate()
		{
		}
		#endregion
		
		#region Methods
		/// <summary>Returns an HTML fragment of this template with the specified values applied.</summary>
		/// <definedin>src\util\XTemplate.js</definedin>
		/// <param name="values">The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: &apos;bar&apos;})</param>
		/// <returns>The HTML fragment</returns>
		[ScriptName("applyTemplate")]
		public string ApplyTemplate(object values)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Compile the template to a function for optimized performance. Recommended if the template will be used frequently.</summary>
		/// <definedin>src\util\XTemplate.js</definedin>
		/// <returns>The compiled function</returns>
		[ScriptName("compile")]
		public System.Function Compile()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Alias for {@link #applyTemplate}
		/// Returns an HTML fragment of this template with the specified values applied.
		/// </summary>
		/// <definedin>src\util\XTemplate.js</definedin>
		/// <param name="values">The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: &apos;bar&apos;})</param>
		/// <returns>The HTML fragment</returns>
		[ScriptName("apply")]
		public string Apply(object values)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Alias for {@link #applyTemplate}
		/// Returns an HTML fragment of this template with the specified values applied.
		/// </summary>
		/// <definedin>src\util\XTemplate.js</definedin>
		/// <param name="values">The template values. Can be an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: &apos;bar&apos;})</param>
		/// <returns>The HTML fragment</returns>
		[ScriptName("apply")]
		public string Apply(System.Array values)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Creates a template from the passed element&apos;s value (display:none textarea, preferred) or innerHTML.</summary>
		/// <htmlSummary>Creates a template from the passed element&apos;s value (&lt;i&gt;display:none&lt;/i&gt; textarea, preferred) or innerHTML.</htmlSummary>
		/// <definedin>src\util\XTemplate.js</definedin>
		/// <param name="el">A DOM element or its id</param>
		/// <returns>The created template</returns>
		[ScriptName("from")]
		public static ext.Template From(string el)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Creates a template from the passed element&apos;s value (display:none textarea, preferred) or innerHTML.</summary>
		/// <htmlSummary>Creates a template from the passed element&apos;s value (&lt;i&gt;display:none&lt;/i&gt; textarea, preferred) or innerHTML.</htmlSummary>
		/// <definedin>src\util\XTemplate.js</definedin>
		/// <param name="el">A DOM element or its id</param>
		/// <returns>The created template</returns>
		[ScriptName("from")]
		public static ext.Template From(System.Html.Element el)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
	}
}
